#ifndef __EKOS_KERNEL_IO_H__
#define __EKOS_KERNEL_IO_H__

void io_init();

int cprintf(const char *fmt, ...);
int fprintf(int fd, const char *fmt, ...);
int vfprintf(int fd, const char *fmt, va_list ap);

int cprintf(const char *fmt, ...);
int vcprintf(const char *fmt, va_list ap);

/* the size of buffer for readline */
#define RL_BUFLEN 1024

char *readline(const char *prompt);

extern int io_mutex_enabled;
extern int io_console_enabled;
extern int io_log_enabled;

#if __PIPE_ENABLED
extern struct kpipe_t log_pipe;
#endif

int vkprintf(const char *fmt, va_list ap);
int kprintf(const char *fmt, ...);


#endif
